home *** CD-ROM | disk | FTP | other *** search
/ InterCD 2000 September / september_2000.iso / intercd / root / ^Linux / Jooky / loadandsortdir.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-11-01  |  1.2 KB  |  66 lines

  1. #include "includes.h"
  2. #include "defines.h"
  3.  
  4. int loadandsortdir(int scram)
  5. {
  6.     int iterations ;
  7.     long int aa=0 ;
  8.     long int bb=0 ;
  9.         time_t timey;
  10.  
  11.     struct dirent *tempfname ;
  12.  
  13.     tempfname=calloc(1,sizeof(struct dirent));
  14.  
  15.     numberoffiles = scandir(mp3directory, &sortedlist, 0, alphasort);
  16.  
  17.     if (numberoffiles < 0)
  18.     {
  19.         perror("scandir");
  20.         return -1;
  21.     }
  22.  
  23.     if (scram==0) return 0;
  24.  
  25.     if (daemonize==0)
  26.     {
  27.         printf ("scrambling...");fflush(stdout);
  28.     }
  29.  
  30.     iterations=numberoffiles*666;
  31.  
  32.         timey=time(&timey);
  33.         srandom((unsigned int)timey);
  34.     
  35.     for (qq=0;qq<iterations;++qq)
  36.     {
  37. /*        if ((qq % 5000)==0) { printf ("%d\n",qq);fflush(stdout);} */
  38.         aa = (random() % (numberoffiles)) ;
  39.         bb = (random() % (numberoffiles)) ;
  40.         if (aa!=bb)
  41.         {
  42. /*            printf ("%ld %ld ",aa,bb);
  43.             fflush(stdout);
  44.  
  45.             printf (" %p ",sortedlist[aa]);
  46.             fflush(stdout); */
  47.             tempfname=sortedlist[aa];
  48.  
  49. /*            printf (" %p ",sortedlist[bb]);
  50.             fflush(stdout); */
  51.             sortedlist[aa]=sortedlist[bb];
  52.  
  53. /*            printf (" %p ",tempfname);
  54.             fflush(stdout); */
  55.             sortedlist[bb]=tempfname;
  56.         }
  57.     }
  58.     if (daemonize==0)
  59.     {
  60.         printf ("done!\n");fflush(stdout);
  61.     }
  62.  
  63.     return 0;
  64. }
  65.  
  66.